package com.udi.project.business.activate.detect;


import com.udi.project.business.activate.mapper.ActivateCodeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author Admin
 * 时间校验，防止用户篡改时间
 */
@Component
public class DetectTime {

    @Autowired
    private ActivateCodeMapper activateCodeMapper;


    /**
    *
     * @Description: 时间校验器
     * 校验规则：
     *      查询数据库最新的登录时间与本地时间最对比，如果当前时间小于最新的登录时间则返回false
     * @return: boolean
     * @Date: 2021/8/25 10:30
     */
    public boolean detec() throws ParseException {

        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date loginTime = activateCodeMapper.selectLoginTime();
        Date currentTime = format.parse(format.format(date));
        /** 如果时间没有篡改 则等于-1*/
        if(loginTime.compareTo(currentTime) != -1){
            return false;
        }
        return true;
    }

}
